'\" t
.\" Copyright (c) 1993 Michael Haardt
.\" (michael@moria.de)
.\" Fri Apr  2 11:32:09 MET DST 1993
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" Modified Sat Jul 24 14:23:14 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Oct 18 17:31:43 1998 by Andries Brouwer (aeb@cwi.nl)
.\" 2008-06-23, mtk, minor rewrites, added some details
.\"
.TH ftime 3 2022-12-15 "Linux man-pages 6.03"
.SH NAME
ftime \- return date and time
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B "#include <sys/timeb.h>"
.PP
.BI "int ftime(struct timeb *" tp );
.fi
.SH DESCRIPTION
.BR NOTE :
This function is no longer provided by the GNU C library.
Use
.BR clock_gettime (2)
instead.
.PP
This function returns the current time as seconds and milliseconds
since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).
The time is returned in
.IR tp ,
which is declared as follows:
.PP
.in +4n
.EX
struct timeb {
    time_t         time;
    unsigned short millitm;
    short          timezone;
    short          dstflag;
};
.EE
.in
.PP
Here \fItime\fP is the number of seconds since the Epoch,
and \fImillitm\fP is the number of milliseconds since \fItime\fP
seconds since the Epoch.
The \fItimezone\fP field is the local timezone measured in minutes
of time west of Greenwich (with a negative value indicating minutes
east of Greenwich).
The \fIdstflag\fP field
is a flag that, if nonzero, indicates that Daylight Saving time
applies locally during the appropriate part of the year.
.PP
POSIX.1-2001 says that the contents of the \fItimezone\fP and \fIdstflag\fP
fields are unspecified; avoid relying on them.
.SH RETURN VALUE
This function always returns 0.
(POSIX.1-2001 specifies, and some systems document, a \-1 error return.)
.SH VERSIONS
Starting with glibc 2.33, the
.BR ftime ()
function and the
.I <sys/timeb.h>
header have been removed.
To support old binaries,
glibc continues to provide a compatibility symbol for
applications linked against glibc 2.32 and earlier.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.BR ftime ()
T}	Thread safety	MT-Safe
.TE
.hy
.ad
.sp 1
.SH STANDARDS
4.2BSD, POSIX.1-2001.
POSIX.1-2008 removes the specification of
.BR ftime ().
.PP
This function is obsolete.
Don't use it.
If the time in seconds
suffices,
.BR time (2)
can be used;
.BR gettimeofday (2)
gives microseconds;
.BR clock_gettime (2)
gives nanoseconds but is not as widely available.
.SH BUGS
Early glibc2 is buggy and returns 0 in the
.I millitm
field;
glibc 2.1.1 is correct again.
.\" .SH HISTORY
.\" The
.\" .BR ftime ()
.\" function appeared in 4.2BSD.
.SH SEE ALSO
.BR gettimeofday (2),
.BR time (2)
